package com.warehouse.module.business.dal.dataobject.cargoinfo;

import com.warehouse.module.business.controller.admin.cargofile.vo.SimpleFileVO;
import lombok.*;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.*;
import com.baomidou.mybatisplus.annotation.*;
import com.warehouse.framework.mybatis.core.dataobject.BaseDO;

/**
 * 货物资料 DO
 *
 * @author Eric
 */
@TableName("bus_cargo_info")
@KeySequence("bus_cargo_info_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class CargoInfoDO extends BaseDO {

    /**
     * 主键
     */
    @TableId
    private Long id;
    /**
     * 订单编号
     */
    private String orderId;
    /**
     * 进仓件数
     */
    private Long warehouseNumber;
    /**
     * 品名/型号（多个逗号分开）
     */
    private String productNameMode;
    /**
     * 货物类型
     *
     * 枚举 {@link TODO goods_nature 对应的类}
     */
    private String goodsNature;
    /**
     * 是否需要特殊防护(0-否；1-是)
     *
     * 枚举 {@link TODO bus_true_false 对应的类}
     */
    private Integer specialProtection;
    /**
     * 是否自带危包(0-否；1-是)
     *
     * 枚举 {@link TODO bus_true_false 对应的类}
     */
    private Integer comesDangerousBag;
    /**
     * 主订单号
     */
    private String mainOrderId;
    /**
     * 状态
     *
     * 枚举 {@link TODO goods_status 对应的类}
     */
    private Integer status;

    /**
     * 到港提醒
     */
    private String reminder;

    /**
     * 是否入库
     */
    private Integer storage;

    /**
     * 打回状态
     */
    private Integer repulseStatus;


    /**
     * 打回原因
     */
    private String remark;

    /**
     * 分单号
     */
    private String subOrderId;

    /**
     * 目的地城市Id
     */
    private Long destinationCityId;

    /**
     * 分单城市Id
     */
    private Long subDestCityId;

    /**
     * 客服Id
     */
    private Long serviceId;

    /**
     * 授权给他人
     */
    private Integer serviceGrantStatus;

    /**
     * 被授权客服id
     */
    private Long serviceOtherId;

    /**
     * 重量kg
     */
    private BigDecimal weight;

    /**
     * 体积
     */
    private BigDecimal volume;

    /**
     * 类别代码
     */
    private String mainCategoryCode;

    /**
     * 辅助类别代码
     */
    private String subCategoryCode;

    /**
     * 包装备注
     */
    private String note;

    /**
     * 是否随机
     */
    private Integer randomFlag;

    /**
     * 通关
     */
    private String customsClearance;

    /**
     * 地服 CA/BGS
     */
    private Integer theGround;

    /**
     * 公司Id
     */
    private Long companyId;

    /**
     * 主客户Id
     */
    private Long mainCustomerId;

    /**
     * 分通知客户id1
     */
    private Long subCustomerId1;

    /**
     * 分通知客户id2
     */
    private Long subCustomerId2;

    /**
     * 下发计划状态
     */
    private Integer planStatus;

    /**
     * 下发计划时间
     */
    private LocalDateTime planTime;

    /**
     * 包装审核状态
     */
    private Integer packStatus;

    /**
     * 装载
     */
    private String freight;

    /**
     * rac
     */
    private Integer rac;

    /**
     * 航班号
     */
    private String flightNumber;

    /**
     * 航班时间
     */
    private Date flightDate;

    /**
     * 航线
     */
    private String airway;

    /**
     * 航空动态
     */
    private String trendsInfo;

    /**
     * 报关状态
     */
    private Integer safetyCheck;


}